/*
  0 成功
  1 输入参数错误
  2 目标设备不支持此操作
  3 当前状态不允许进行此操作
  4 无操作权限
  5 内部执行错误
*/
enum ControlErrorType {
  success(0),
  invalidInputParameter(1),
  unsupportedOperation(2),
  invalidStateOperation(3),
  noPermission(4),
  internalExecutionError(5);

  final int value;
  const ControlErrorType(this.value);

  String get name {
    switch (this) {
      case ControlErrorType.success:
        return "成功";
      case ControlErrorType.invalidInputParameter:
        return "输入参数错误";
      case ControlErrorType.unsupportedOperation:
        return "目标设备不支持此操作";
      case ControlErrorType.invalidStateOperation:
        return "当前状态不允许进行此操作";
      case ControlErrorType.noPermission:
        return "无操作权限";
      case ControlErrorType.internalExecutionError:
        return "内部执行错误";
    }
  }

  static ControlErrorType? getTypeByNum(int num) {
    for (var type in ControlErrorType.values) {
      if (type.value == num) {
        return type;
      }
    }
    return null;
  }
}
